package de.grosjohann.android.feuerwehr.type;

import java.io.Serializable;

import android.content.res.Resources;
import de.grosjohann.android.feuerwehr.R;

public enum WeatherWarningType implements Serializable {

  KEINE_WARNUNGEN(1, R.string.KEINE_WARNUNGEN),

  WETTERWARNUNGEN(2, R.string.WETTERWARNUNGEN),

  WARNUNGEN_VOR_MARKANTEM_WETTER(3, R.string.WARNUNGEN_VOR_MARKANTEM_WETTER),

  UNWETTERWARNUNGEN(4, R.string.UNWETTERWARNUNGEN),

  WARNUNGEN_VOR_EXTREMEM_UNWETTER(5, R.string.WARNUNGEN_VOR_EXTREMEM_UNWETTER);

  private int level = 2;
  private int resId;

  private WeatherWarningType(int newLevel, int newResId) {
    level = newLevel;
    resId = newResId;
  }

  public int getLevel() {
    return level;
  }

  public int getResId() {
    return resId;
  }

  @Override
  public String toString() {
    return Resources.getSystem().getString(resId);
  }

  public static WeatherWarningType valueOf(int level) {
    for (WeatherWarningType type : WeatherWarningType.values()) {
      if (type.level == level) {
        return type;
      }
    }
    throw new IllegalArgumentException("Status not supported: " + level);
  }

}
